package com.yzx.yzxaop;

import com.yzx.yzxaop.aopTest.Service;
import com.yzx.yzxaop.aopTest.Target02;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {

    static {
        // 1. 获取当前类路径
        String path = Main.class.getResource("").getPath();
        // 2. 获取当前包名（如com.heaboy）
        String packageName = Main.class.getPackage().getName();
        // 3. 启动注解扫描（核心初始化）
        futureAOP.scanner(path, packageName);
    }

    public static void main(String[] args) {


        try{
            //测试jdk动态代理
            Service t = (Service) futureAOP.getProxy();  //JDK 动态代理生成的是接口的代理对象
            t.add();
        }catch (RuntimeException e){
//            System.out.println(e.getMessage());
            //测试cglib动态代理
            Target02 t = (Target02) futureAOP.getProxy();
            t.add();
        }




    }

}
